package com.sirun.ble.utils.sdk;

/**
 * https://blog.csdn.net/lhc1105/article/details/54585632
 * @author : hzw
 */
public class AwBleRssiUtil {

    //A和n的值，需要根据实际环境进行检测得出
    private static final double A_Value=59;/**A - 发射端和接收端相隔1米时的信号强度 50*/
    private static final double n_Value=2;/** n - 环境衰减因子 2.5*/

    /**
     * 根据Rssi获得返回的距离,返回数据单位为m
     * @param rssi
     * @return
     */
    public static double getDistance(int rssi){
        int iRssi = Math.abs(rssi);
        double power = (iRssi-A_Value)/(10*n_Value);
        return Math.pow(10,power);
    }
}
